.job-push: &job-push
  artifacts:
    paths:
    - logs
    - manaplus/logs
    when: always
    expire_in: 3 week
  dependencies: []

.job-always: &job-always
  artifacts:
    paths:
    - logs
    - manaplus/logs
    when: always
    expire_in: 3 week
  dependencies: []

gcc-5_c++11_i386:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc5_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: i386/ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev 
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-5_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sdl2.sh
  - ./tools/ci/scripts/runtests.sh
  - ./tools/ci/jobs/gcc5_sdl2_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              git gdb valgrind netcat-openbsd procps

gcc-5_sanitize_tests:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc5_sanitize_tests.sh
  - ldd ./src/manaplustests | grep "libasan"
  image: ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev 
              git valgrind
  tags:
    - docker

# configure test look like crashed
.gcc-5_sanitize_tests_i386:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc5_sanitize_tests.sh --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  image: i386/ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev 
              git valgrind
  tags:
    - docker

gcc-5_sanitize_no_opengl_tests:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc5_sanitize_tests.sh --without-opengl --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  image: ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev 
              git valgrind
  tags:
    - docker

# configure test look like crashed
.gcc-5_sanitize_no_opengltests_i386:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc5_sanitize_tests.sh --without-opengl --without-dyecmd --without-manaplusgame
  - ldd ./src/manaplustests | grep "libasan"
  image: i386/ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev 
              git valgrind
  tags:
    - docker

gcc-5_sanitize:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc5_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

# configure test look like crashed
.gcc-5_sanitize_i386:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc5_sanitize.sh
  - ./tools/ci/scripts/runtests.sh
  image: i386/ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-5_tests:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc5_tests.sh --without-dyecmd
  image: ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev 
              git valgrind
  tags:
    - docker

gcc-5_tests_i386:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc5_tests.sh --without-dyecmd --without-manaplusgame
  image: i386/ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev 
              git valgrind
  tags:
    - docker

gcc-5_sdl2_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sdl2_tests.sh --without-manaplusgame --enable-glibcdebug
  - ./tools/ci/jobs/gcc5_sdl2_tests.sh --without-manaplusgame --enable-stldebug
  image: ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              git valgrind
  tags:
    - docker

gcc-5_sdl2_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sdl2_tests.sh --without-dyecmd --without-manaplusgame
  image: i386/ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              git valgrind
  tags:
    - docker

gcc-5_sdl2_no_opengl_tests:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sdl2_tests.sh --without-opengl --without-dyecmd --without-manaplusgame
  image: ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              git valgrind
  tags:
    - docker

gcc-5_sdl2_no_opengl_tests_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sdl2_tests.sh --without-opengl --without-dyecmd --without-manaplusgame
  image: i386/ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              git valgrind
  tags:
    - docker

gcc-5:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc5.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  - ./tools/ci/jobs/gcc5_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

gcc-5_sdl2_c++11_i386:
  stage: build
  script:
  - ./tools/ci/jobs/gcc5_sdl2_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: i386/ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-5_default:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/any_compiler.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:xenial
  <<: *job-push
  variables:
    LOGFILE: gcc5.log
    CC: gcc-5
    CXX: g++-5
    CXXFLAGS: "-Wall -Wextra"
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

gcc-5_default_i386:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/any_compiler.sh --enable-werror
  - ./tools/ci/scripts/runtests.sh
  <<: *job-push
  image: i386/ubuntu:xenial
  variables:
    LOGFILE: gcc5.log
    CC: gcc-5
    CXX: g++-5
    CXXFLAGS: "-Wall -Wextra"
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

gcc-5_tarball:
  stage: build
  script:
  - ./tools/ci/scripts/patchsdl1.sh
  - ./tools/ci/jobs/gcc5_tarball.sh
  image: ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: gcc-5 g++-5 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              git libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
